// Flatten Arrays In Javascript 4 or 5 Ways // Nested Array, Loop and Flatten, Array to String // https://code-boxx.com/flatten-arrays-javascript/ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join // https://www.digitalocean.com/community/tutorials/js-flat-flatmap // TE: jaf;03 // (A) NESTED ARRAY var arr = [ "First", ["Second", ["Third"]], "Forth" ]; console.log(arr); // (B) LOOP + FLATTEN var flatten = true; while (flatten) { arr = arr.flat(); flatten = false; for (let i of arr) { if (Array.isArray(i)) { flatten = true; break; } } } console.log(arr); // (B) ARRAY TO STRING // FIRST,SECOND,THIRD,FORTH var str = arr.toString(); console.log(str); // (A) ARRAYS var fruits = ["Apple", "Banana"]; var colors = ["Red", "Yellow"]; // (B) MAP ARRAYS - NOT WHAT WE WANT // [[APPLE, RED], [BANANA, YELLOW]] var mapA = fruits.map((fruits, index) => [fruits, colors[index]]); console.log(mapA); // (C) MAP AND FLATTEN // [APPLE, RED, BANANA, YELLOW] var mapB = fruits.flatMap((fruits, index) => [fruits, colors[index]]); console.log(mapB);